[FLINK-37688] Implement Amazon CloudWatch Metric Sink Connector#202
[FLINK-37688] Implement Amazon CloudWatch Metric Sink Connector#202darenwkt wants to merge 1 commit intoapache:mainfrom
Conversation
2d0309c to
157fccd
Compare
flink-connector-aws-e2e-tests/flink-connector-cloudwatch-e2e-tests/pom.xml
Outdated
Show resolved
Hide resolved
...-cloudwatch/src/main/java/org/apache/flink/connector/cloudwatch/sink/MetricWriteRequest.java
Outdated
Show resolved
Hide resolved
...-cloudwatch/src/main/java/org/apache/flink/connector/cloudwatch/sink/MetricWriteRequest.java
Outdated
Show resolved
Hide resolved
...-cloudwatch/src/main/java/org/apache/flink/connector/cloudwatch/sink/MetricWriteRequest.java
Show resolved
Hide resolved
...va/org/apache/flink/connector/cloudwatch/sink/DefaultMetricWriteRequestElementConverter.java
Outdated
Show resolved
Hide resolved
| private final SdkAsyncHttpClient httpClient; | ||
| private final CloudWatchAsyncClient cloudWatchAsyncClient; |
There was a problem hiding this comment.
do these need to be class level variables? could we just expose the buildClient method instead. WDYT?
There was a problem hiding this comment.
I see what you mean, I think the benefit of using getClient is that the same cloudwatchClient instance can be reused many times in the same provider, so I am inclined to keep this for now, let me know what you think
|
|
||
| /** Provides a {@link SdkClient}. */ | ||
| @Internal | ||
| public interface SdkClientProvider<T extends SdkClient> extends SdkAutoCloseable { |
There was a problem hiding this comment.
do we really need this interface?
There was a problem hiding this comment.
We don't need it strictly, I just saw that we use this for DDB and SQS sink as well and thought of using it here to be consistent
...ctor-cloudwatch/src/main/java/org/apache/flink/connector/cloudwatch/sink/CloudWatchSink.java
Show resolved
Hide resolved
|
Hey, this looks very good! What is the latest status on this? My team and I would be very keen to integrate a CloudWatch Table Sink, thank you very much for the contribution. Let me know if we can accelerate this PR. Cheers! |
|
Hi @tcerda95 ! Great to hear from you and thanks for the interest! The PR is currently still being reviewed, and it would accelerate this PR if you could take a look at this PR too and leave any comments especially if you see any gap/differences with your team's requirements @gguptp Thanks for the initial review on the PR and wondering if you would be able to take another look again please? Thank you |
@darenwkt will take a look by the end of the week |
Purpose of the change
Implement Amazon CloudWatch Metric Sink Connector based on FLIP-524 (https://cwiki.apache.org/confluence/display/FLINK/FLIP-524:+CloudWatch+Metric+Sink+Connector) which includes following:
Verifying this change
This change added tests and can be verified as follows:
Unit Test
IT Test - Added integration tests for end-to-end deployment
DataStream API Manual Test - Manually verified by running the CloudWatch connector on a local Flink cluster.
Verified job is running and checkpointing successfully

Verified CloudWatch received the metric successfully

TableAPI Manual Test - Manually verified by running the CloudWatch connector on a local Flink cluster.
Verified job entered FINISHED state successfully

Verified Cloudwatch received the metric successfully

Significant changes
(Please check any boxes [x] if the answer is "yes". You can first publish the PR and check them afterwards, for convenience.)
@Public(Evolving))